import time
from functools import lru_cache

# 定义一个函数，用于模拟耗时操作
def slow_function(x):
    time.sleep(5)
    return x * x

# 使用lru_cache装饰器来实现限时缓存
@lru_cache(maxsize=1, typed=False)
def cached_slow_function(x):
    return slow_function(x)

# 调用函数，第一次调用会执行慢函数并缓存结果
result = cached_slow_function(2)
print("结果{}，时间{}".format(result, time.strftime('%Y-%m-%d %H:%M:%S')))  # 输出：4

# 等待6秒后再次调用函数，此时会直接从缓存中获取结果，而不会再次执行慢函数
time.sleep(6)
result = cached_slow_function(2)
print("结果{}，时间{}".format(result, time.strftime('%Y-%m-%d %H:%M:%S')))  # 输出：4
